
int get_size()
    { return 512; }

int main()
{
    const int bufSize = 512;        // 输入缓冲区大小
    // bufSize = 256;               // 错误：试图向 const 对象写值

    const int i = get_size();       // 正确：运行时初始化
    const int j = 42;               // 正确：编译时初始化
    // const int k;                 // 错误：k 是一个未经初始化的常量

    int k = 42;
    const int ck = k;               // 正确：k 的值被拷贝给了 ck
    int m = ck;                     // 正确：ck 的值被拷贝给了 m

    // 多个文件之间共享 const 对象
    // file1.cpp 定义并初始化了一个常量，该常量能被其他文件访问
    // extern const int cacheSize = fcn();
    // file1.h 头文件
    // extern const int cacheSize; // 与 file1.cpp 中定义的 bufSize 是同一个
}